Ranked navigation element

ABSTRACT

Disclosed are various embodiments for a navigation element generation application. A navigation element comprising a plurality of navigation aids is generated responsive to a search query and other data. A relevance score is calculated for the navigation element. The navigation element is inserted into a ranked list of search result items as a function of the relevance score and communicated to a client.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of and claims priority to U.S.application Ser. No. 14/802,211 titled “RANKED NAVIGATION ELEMENT”,filed Jul. 17, 2015, which is a continuation of Ser. No. 13/710,944titled “RANKED NAVIGATION ELEMENT”, filed Dec. 11, 2012, each of whichis incorporated herein by reference in its entirety.

BACKGROUND

Navigation elements can be generated to link to relevant subsets of acategory of items. The content and placement of the navigation elementsshould be dynamically generated to maximize relevance and clientinteraction.

BRIEF DESCRIPTION OF THE DRAWINGS

Many aspects of the present disclosure can be better understood withreference to the following drawings. The components in the drawings arenot necessarily to scale, with emphasis instead being placed uponclearly illustrating the principles of the disclosure. Moreover, in thedrawings, like reference numerals designate corresponding partsthroughout the several views.

FIG. 1 is a drawing of a networked environment according to variousembodiments of the present disclosure.

FIG. 2 is a drawing of an example of a user interface rendered by aclient in the networked environment of FIG. 1 according to variousembodiments of the present disclosure.

FIG. 3 is a drawing of an example of a user interface rendered by aclient in the networked environment of FIG. 1 according to variousembodiments of the present disclosure.

FIG. 4 is a drawing of an example of a user interface rendered by aclient in the networked environment of FIG. 1 according to variousembodiments of the present disclosure.

FIG. 5 is a flowchart illustrating one example of functionalityimplemented as portions of a navigation element generation applicationexecuted in a computing environment in the networked environment of FIG.1 according to various embodiments of the present disclosure.

FIG. 6 is a schematic block diagram that provides one exampleillustration of a computing environment employed in the networkedenvironment of FIG. 1 according to various embodiments of the presentdisclosure.

DETAILED DESCRIPTION

Systems such as electronic commerce systems often maintain a searchablecatalog of items. Search results generated by the electronic commercesystem may contain a list of items ranked according to generatedrelevance scores. A navigation element can also be included amongst thelist of items containing links to relevant subsets of the catalog. Forexample, a search query may be entered for “jeans.” The list of itemsmay contain those items responsive to the query “jeans,” includingclothing items. A navigation element may be inserted in a positionwithin the ranked list containing navigation aids such as links to listsjeans belonging to particular brands, jeans of particular sizes, orother subsets of jeans.

The navigation aids which comprise the navigation element may begenerated as a function of the search query. For example, the searchquery “jeans” may result in navigation aids linking to brands or sizes.As another example, the search query “tools” may result in navigationaids linking to manufacturers of tools or different types of tools. Thenavigation aids may also be generated as a function of browsing historywith respect to previously generated navigation elements. For example,if previously generated navigation elements had low click or browsingrates, then new navigation aids may be included to maximize performanceand relevance. Other factors may also be used to generate the navigationaids, such as domain knowledge of a customer, purchase history, or otherfactors.

After the navigation element has been generated, a relevance score canbe calculated for the navigation element such that it can be rankedwithin the list of products responsive to the search query. Inclusion ofthe navigation element within network pages embodying the ranked listmay be responsive to a ranking of the navigation element exceeding athreshold, or as a function of other data.

In the following discussion, a general description of the system and itscomponents is provided, followed by a discussion of the operation of thesame.

With reference to FIG. 1, shown is a networked environment 100 accordingto various embodiments. The networked environment 100 includes acomputing environment 101, a client 104, which are in data communicationwith each other via a network 107. The network 107 includes, forexample, the Internet, intranets, extranets, wide area networks (WANs),local area networks (LANs), wired networks, wireless networks, or othersuitable networks, etc., or any combination of two or more suchnetworks.

The computing environment 101 may comprise, for example, a servercomputer or any other system providing computing capability.Alternatively, the computing environment 101 may employ a plurality ofcomputing devices that may be employed that are arranged, for example,in one or more server banks or computer banks or other arrangements.Such computing devices may be located in a single installation or may bedistributed among many different geographical locations. For example,the computing environment 101 may include a plurality of computingdevices that together may comprise a cloud computing resource, a gridcomputing resource, and/or any other distributed computing arrangement.In some cases, the computing environment 101 may correspond to anelastic computing resource where the allotted capacity of processing,network, storage, or other computing-related resources may vary overtime.

Various applications and/or other functionality may be executed in thecomputing environment 101 according to various embodiments. Also,various data is stored in a data store 111 that is accessible to thecomputing environment 101. The data store 111 may be representative of aplurality of data stores 111 as can be appreciated. The data stored inthe data store 111, for example, is associated with the operation of thevarious applications and/or functional entities described below.

The components executed on the computing environment 101, for example,include an electronic commerce system 114 having a network page serverapplication 115, a search application 117, and a navigation elementgeneration application 121, and other applications, services, processes,systems, engines, or functionality not discussed in detail herein.

The electronic commerce system 114 is executed in order to facilitatethe online purchase of items 127 over the network 107. The electroniccommerce system 114 also performs various backend functions associatedwith the online presence of a merchant in order to facilitate the onlinepurchase of items 127 as will be described. For example, the electroniccommerce system 114 generates network pages such as web pages or othertypes of network content that are provided to clients 104 for thepurposes of selecting items for purchase, rental, download, lease, orother form of consumption as will be described. Such network pages arecommunicated to the client 104 by the network page server application115.

The search application 117 facilitates the application of search queries131 communicated by a client 104 to a catalog 134 of items 127 togenerate search results 137 comprising those items 127 responsive to thesearch query 131. The navigation element generation application 121generates a navigation element 141 comprising a plurality of navigationaids 144 for insertion into network pages comprising embodying searchresults 137. The navigation aids 144 comprise links such as hyperlinksto subsets of the catalog 134 relevant to the search query 131 andgenerated as a function of the search query 131 and other data. Thesubsets of the catalog 134 may be generated as those items 127satisfying one or more predefined rules defined with respect to anavigation aid 144 or satisfying one or more dynamically calculatedrules defined with respect to the navigation aid 144.

In some embodiments, the catalog 134 may organize the items 127 into ataxonomy model. In such an embodiment, the subsets of the catalog 134may be generated as a function of elements of the taxonomy of items 127.The subsets of the catalog 134 may also be generated by anotherapproach.

The navigation element 141 may be generated as a function of a searchquery 131. For example, a search query 131 for “jeans” may generate anavigation element comprising navigation aids 144 each corresponding tobrands of jeans, sizes or jeans, price ranges of jeans, or other subsetsof jeans. A browsing event such as a click would navigate the client 104to a subset of the catalog 134 embodying those jeans items 127 belongingto the corresponding brand, size, or other subset. As another example, asearch query 131 for “tools” may generate a navigation element 141comprising navigation aids 144 each corresponding to manufacturers oftools, types of tools such as hammers or wrenches, quality of tools, orother subsets of tools.

As another example, a search query 131 may comprise one or more searchterms which correspond to an element in a taxonomy of items 127. In suchan embodiment, the search query 131 may generate a navigation element141 comprising navigation aids 144 each corresponding to a subelement ofthe taxonomy element embodied in the search term. For example, ataxonomy element may correspond to a particular brand of tools, “CheapCoTools.” The taxonomy element may be linked to subelements “CheapCoHammers”, “CheapCo Screwdrivers”, and “CheapCo Plows.” In such anembodiment, a search query 131 for “CheapCo tools and accessories” maygenerate a navigation element 141 comprising navigation aids 144corresponding to the different subelements of the “CheapCo Tools”taxonomy element. Other approaches may also be used to generate thenavigation element 141 as a function of the search query 131.

The navigation element 141 may also be generated as a function ofbrowsing activity with respect to previously generated navigationelements 141. The browsing activity may correspond to the client 104 orother customers of the electronic commerce system 114. For example, apreviously generated navigation element 141 associated with the searchquery 131 “tools” may have resulted in low click or browsing rates withrespect to the component navigation aids 144. A subsequently generatednavigation element 141 may comprise different component navigation aids144 or a different ordering of the navigation aids 144 to entice agreater click rate. As another example, a previously generatednavigation element 141 associated with the search query 131 “jeans” mayhave resulted in a high click rate, and the subsequently generatednavigation element 141 may be similar or a duplicate of the previouslygenerated navigation element 141 to ensure a high click rate. Browsingactivity with respect to previously generated navigation elements 141may be used in another approach to generate a navigation element 141.

Past purchases through the electronic commerce system 114 may also beused to generate the navigation element 141. The past purchases may bewith respect to the client 104. For example, if the client 104 isassociated with many past purchases of tools from a particularmanufacturer, a search query 131 “tools” may generate a navigationelement 141 comprising a navigation aid 144 corresponding to thatparticular manufacturer. As another example, a client 104 may have pastpurchases of clothing belonging to a particular size. The navigationelement 141 may comprise navigation aids 144 linking to subsets of thecatalog 134 having that previously purchased size. As another example, aclient 104 may be associated with past purchases of clothing fromhigher-end brands. The navigation element 141 may comprise navigationelements 144 corresponding to those or other high-end clothing brands.Past purchases with respect to the client 104 may also be used byanother approach.

The past purchases may also be with respect to the entirety of a subsetof customers of the electronic commerce system 114. For example, ifparticular brands of jeans have a high purchase rate across allcustomers, indicating popularity, then the navigation element 141 maycomprise navigation aids 144 corresponding to those popular brands. Pastpurchases may be used by another approach to generate the navigationelement 121.

The navigation element 141 may also be generated as a function of apurchased insertion of a navigation aid 144 into the navigation element141. For example, a manufacturer or brand may purchase the rights tohaving a navigation aid 144 inserted into navigation elements 141generated in response to one or more search queries 131, or generated byanother approach.

Domain knowledge with respect to the client 104 may also be used togenerate the navigation element 141. Domain knowledge comprisesknowledge about the environment in which the client 104 operates. Domainknowledge may comprise temporal or location data associated withoperation of the client 104, attributes or characteristics of customersor users associated with the client 104, or other data. For example,past purchases, known customer data, or other data may indicate that theclient 104 is associated with a male customer. In such embodiments, thenavigation element 141 may comprise navigation aids 144 linking tobrands associated with predominantly male clothing, or to a specificallydesignated subset of the catalog 134 corresponding to male clothing. Asanother example, the client 104 may be associated with a plurality ofcustomers comprising various age and gender combinations. In such anembodiment, the navigation element 141 may comprise subsets of thecatalog 134 marketed towards one or more of the age and gendercombinations.

In another embodiment, domain knowledge relating to future events may beused independently or in conjunction with other data to generate thenavigation element 141. For example, a search query 131 for “jackets”may generate a navigation element 141 comprising navigation aids 144linking to manufacturers of light jackets if the search query 131 iscommunicated during or near the fall season, and linking to heavyjackets or parkas during or near winter. As another example, a client104 may be known to be associated with a customer having an adolescentdaughter. A search query 131 for “dresses” may generate a navigationelement 141 comprising a navigation aid 144 linking to a subset of thecatalog for prom dresses if the search query 131 is communicated in thespring. Future events may be used to generate the navigation element 141by another approach.

In some embodiments, the navigation element generation application 121may determine that a plurality of navigation aids 144 may be relevant toa navigation element 141, and the number of relevant navigation aids 144exceeds the number of maximum navigation aids 144 which can be insertedinto a navigation element 141. In such an embodiment, the navigationelement generation application 121 may calculate confidence scores eachcorresponding to one of the plurality of navigation aids 144 and thenselect those navigation aids 144 having the highest confidence scoresfor inclusion into the navigation element 141.

Confidence scores may be generated as a function of domain knowledgewith respect to the client 104. For example, a navigation aid 144linking to plus-sized clothing may have a higher confidence score forclients 104 known to be associated with a single customer known to wearplus-sized clothing, but have a lower confidence score for a client 104associated with a plurality of customers of unknown or varying clothingsize. Confidence scores may be generated as a function of pastpurchases, browsing activity, or other data. As another example, anavigation aid 144 for higher-quality expensive tools may have a higherconfidence score for a client 104 having only purchased expensive tools,but have a lower confidence score for clients 104 having purchased toolsfrom a variety of price ranges. Confidence scores may also be generatedfor navigation aids 144 by another approach.

After the navigation element 141 has been generated, a relevance scoreis calculated for the navigation element 141 for comparison to therelevance scores of the items 127 in the search results 137. Therelevance score of the navigation element 141 may be calculated as afunction of data used to generate the navigation element 141 or thecomponent navigation aids 144 such as browsing activity, past purchases,or other data. Additionally, the relevance scores of previouslygenerated navigation elements 141 may also be used to generate thenavigation element 141. For example, a generated navigation element 141may be distinct from a previously generated navigation element 141having a low relevance score as an attempt to increase the relevancescore. The relevance score may be calculated by the navigation elementgeneration application 121, the search application 117, or otherfunctionality of the electronic commerce system 114.

Additionally, after the navigation element 141 has been generated, thenavigation element 141 is inserted into the search results 137 as beingranked as a function of the relevance scores of the navigation element141 and the responsive items 127. The insertion may be performed by thenavigation element generation application 121, the search application117, or other functionality of the electronic commerce system 114.

The data stored in the data store 111 includes, for example, a catalog134 comprising items 127, and potentially other data. The catalog 134comprises a searchable organization of items 127. The catalog 134 maycomprise indices, groupings if items 127 into categories, logicalrelations of items 127 or groups of items 127 as a function of ataxonomy, or other data. Items 127 correspond to data representative ofproducts available for sale or rental through the electronic commercesystem 114. Items 127 may correspond to physical goods, services,digital content, or other products.

The client 104 is representative of a plurality of client devices thatmay be coupled to the network 107. The client 104 may comprise, forexample, a processor-based system such as a computer system. Such acomputer system may be embodied in the form of a desktop computer, alaptop computer, personal digital assistants, cellular telephones,smartphones, set-top boxes, music players, web pads, tablet computersystems, game consoles, electronic book readers, or other devices withlike capability.

The client 104 may be configured to execute various applications such asa client application 147 and/or other applications. The clientapplication 147 may be executed in a client 104, for example, to accessnetwork content served up by the computing environment 101 and/or otherservers. To this end, the client application 147 may comprise, forexample, a browser, a dedicated application, etc. The client 104 may beconfigured to execute applications beyond the client application 147such as, for example, email applications, social networkingapplications, word processors, spreadsheets, and/or other applications.

Next, a general description of the operation of the various componentsof the networked environment 100 is provided. To begin, the client 104communicates a search query 131 to the electronic commerce system 114via the network 107. Communicating the search query 131 may befacilitated by a client application 147 or other functionality executedon the client 104. The search application 117 generates a pool of items127 from the catalog 134 that are responsive to the search query 131.Next, the navigation element generation application 121 generates anavigation element 141 comprising a plurality of navigation elements144. The navigation element generation application 121 generates thenavigation element 141 as a function of at least the search query 131.The navigation element generation application 121 may also generate thenavigation element 141 as a function of past purchases, browsingactivity with respect to previously generated navigation elements 141,domain knowledge, relevance scores of previously generated navigationelements 141, and potentially other data.

Generating the navigation element 141 may comprise generating aplurality of navigation aids 144 for possible inclusion in thenavigation element 141, and then including a subset of the plurality ofthe navigation aids 144. In such an embodiment, the navigation elementgeneration application 121 may generate confidence values for each ofthe navigation aids 144 and include those navigation aids 144 having thehighest confidence values. The confidence values may be generated as afunction of domain knowledge with respect to the client 104, pastpurchases, browsing activity, or other data.

Next, the navigation element generation application 121 calculates arelevance score for the generated navigation element 141. The relevancescore for the navigation element 141 may be generated as a function ofdata from which the navigation element 141 was generated including pastpurchases, browsing activity, domain knowledge, previously calculatedrelevance scores, or other data. The relevance score for the navigationelement 141 may be calculated from data distinct from data from whichthe navigation element 141 was generated.

After a relevance score has been calculated for the navigation element141, the navigation element 141 is ranked amongst the pool of items 127of the search results 137 as a function of the relevance score of thenavigation element 141 and the relevance scores of the items 127. Next,the ranked list of the search results 137 including the pool of items127 and the navigation element 141 are encoded as a network page by thenetwork page server application 115 and communicated to the client 104via the network 107. The network page is then rendered by a clientapplication 147 or other functionality executed on the client 104.

In some embodiments the navigation element 141 is excluded from thesearch results 137 responsive to a ranking of the navigation element 141falling below a threshold. In other embodiments in which the searchresults 137 are encoded into multiple sequential network pages, thenavigation element 141 is excluded from the search results 137responsive to a page number of a network page comprising the navigationelement 141 exceeding a threshold. The threshold may be predefined ordetermined

Referring next to FIG. 2, shown is a user interface 201 generated by theelectronic commerce system 114 (FIG. 1) embodying a navigation element141 (FIG. 1) generated by the navigation element generation application121 (FIG. 1) according to an embodiment of the present disclosure. Theuser interface 201 may comprise a network page generated by a networkpage server application 115 (FIG. 1) and rendered by a browser clientapplication 147 (FIG. 1). In the alternative, the user interface 201 maycomprise data encoded for rendering by a dedicated client application147.

Item 204 is a uniform resource locator (URL) input to facilitatecommunication between the client 104 and the electronic commerce system114. Item 207 is a text string embodying a previously communicatedsearch query 131 (FIG. 1). Item 211 is a list of items 127 (FIG. 1) froma catalog 134 (FIG. 1) responsive to the previously communicated searchquery 131. Item 214 is a navigation element 141 ranked amongst the listof items 127 according to relevance scores. Item 217 is one of aplurality of navigation aids 144 (FIG. 1) of the navigation element 141corresponding to a manufacturer of tools. Item 221 is a group ofhyperlinks for navigation amongst a plurality of network pages embodyingthe search results 137.

Moving on to FIG. 3, shown is a user interface 301 generated by theelectronic commerce system 114 (FIG. 1) embodying a navigation element141 (FIG. 1) generated by the navigation element generation application121 (FIG. 1) according to an embodiment of the present disclosure. Theuser interface 301 may comprise a network page generated by a networkpage server application 115 (FIG. 1) and rendered by a browser clientapplication 147 (FIG. 1) as a function of a taxonomy of the catalog 134(FIG. 1). In the alternative, the user interface 301 may comprise dataencoded for rendering by a dedicated client application 147.

Item 304 is a uniform resource locator (URL) input to facilitatecommunication between the client 104 and the electronic commerce system114. Item 307 is a text string embodying a previously communicatedsearch query 131 (FIG. 1) for “CheapCo hammers”. In the presentembodiment, the search term “CheapCo” corresponds to a taxonomy elementcomprising the “CheapCo” brand of tools. Item 311 is a list of items 127(FIG. 1) from the catalog 134 responsive to the previously communicatedsearch query. In the present example, item 311 corresponds to a list ofCheapCo hammers.

Item 314 is a navigation element 141 ranked amongst the list of items127 according to relevance scores. Item 317 is one of a plurality ofnavigation aids 144 (FIG. 1) of the navigation element 141. Each of thenavigation aids 144 of item 317 are representative of a taxonomysubelement related to the “CheapCo” taxonomy element corresponding tothe “CheapCo” search term. In this example, the taxonomy subelements arerepresentative of product lines or product series under the “CheapCo”manufacturer brand. Item 321 is a group of hyperlinks for navigationamongst a plurality of network pages embodying the search results 137.

Turning next to FIG. 4, shown is a user interface 401 generated by theelectronic commerce system 114 (FIG. 1) embodying a navigation element141 (FIG. 1) generated by the navigation element generation application121 (FIG. 1) according to an embodiment of the present disclosure. Theuser interface 401 may comprise a network page generated by a networkpage server application 115 (FIG. 1) and rendered by a browser clientapplication 147 (FIG. 1). In the alternative, the user interface 401 maycomprise data encoded for rendering by a dedicated client application147.

Item 401 is a uniform resource locator (URL) input to facilitatecommunication between the client 104 and the electronic commerce system114. Item 407 is a text string embodying a previously communicatedsearch query 131 (FIG. 1). Item 411 is a list of items 127 (FIG. 1) froma catalog 134 (FIG. 1) responsive to the previously communicated searchquery 131. Item 414 is a navigation element 141 ranked amongst the listof items 127 according to relevance scores. Item 417 is one of aplurality of navigation aids 144 (FIG. 1) of the navigation element 141.Each of the navigation aids 144 is representative of a curated subset ofthe catalog 134 relevant to the search query 131.

Additionally, domain knowledge associated with the client 104 may beused to generate the navigation aids 144. For example, the “WinterEssentials” navigation aid 144 may be generated as a function of domainknowledge indicating that a customer associated with the client 104lives in a snowy geographical area or in that the client 104 submittedthe search query 131 during or near winter. As another example, the“Unbreak My House” may correspond to a curated subset of toolsspecializing in home repairs. In such an example, the navigation aid 144may be generated as a function of domain knowledge indicating that acustomer associated with the client 104 owns or lives in a house. Item421 is a group of hyperlinks for navigation amongst a plurality ofnetwork pages embodying the search results 137.

Referring next to FIG. 5, shown is a flowchart that provides one exampleof the operation of a portion of the navigation element generationapplication 121 (FIG. 1) implemented in the electronic commerce system114 (FIG. 1) according to various embodiments. It is understood that theflowchart of FIG. 5 provides merely an example of the many differenttypes of functional arrangements that may be employed to implement theoperation of the portion of the electronic commerce system 114 asdescribed herein. As an alternative, the flowchart of FIG. 5 may beviewed as depicting an example of steps of a method implemented in thecomputing environment 101 (FIG. 1) according to one or more embodiments.

Beginning with box 501 the search application 117 (FIG. 1) of theelectronic commerce system 114 generates a ranked pool of items 127(FIG. 1) from a catalog 134 (FIG. 1) responsive to a search query 131(FIG. 1). The search query 131 may be obtained from a client 104 via thenetwork 107, or by another approach. The items 127 are ranked accordingto relevance scores calculated by the search application 117corresponding to each of the items 127.

Next, in box 504, the navigation element generation application 121generates navigation aids 144 (FIG. 1) as a function of at least thesearch query 137. For example, navigation aids 144 corresponding tobrands or sizes of jeans may be generated for a search query 131“jeans.” The navigation aids 144 may also be generated with respect topast purchases consummated by customers of the electronic commercesystem 114. For example, a search query 131 “tools” may generatenavigation aids 144 corresponding to the most frequently purchased orleast returned brands of tools. The navigation aids 144 may also begenerated as a function of browsing activity with respect to previouslygenerated navigation elements 141. For example, the generated navigationaids 144 may comprise those navigation aids 144 which resulted in themost clicks when presented with respect to the search query 131.Navigation aids 144 may also be generated by another approach.

In some embodiments, generating navigation aids 144 further comprisescalculating confidence scores corresponding to each of the navigationaids 144. Confidence scores may be calculated as a function of domainknowledge with respect to the client 104, as a function of data used togenerate the navigation aids 144, or other data.

Next, in box 507 the navigation element generation application 121generates a navigation element 141 comprising the generated navigationaids 144. In some embodiments this comprises generating a navigationelement 141 comprising the entirety of the generated navigation aids144. In other embodiments, this may comprise generating a navigationelement 141 comprising a subset of the generated navigation aids 144.The subset of navigation aids 144 may be determined as a function of theconfidence scores associated with the navigation aids, or by anotherapproach. Additionally, the ordering of the navigation aids 144 may bedetermined as a function of browsing activity with respect to previouslygenerated navigation elements 141 or other data.

In box 511 the navigation element 141 is ranked within the ranked poolof items 127 generated responsive to the search query 137. This maycomprise calculating a relevance score for the navigation element 141and ranking the navigation element 141 with respect to the relevancescores of the items 127. Ranking the navigation element 141 may withinthe items 127 also be performed by another approach. Ranking thenavigation element 141 within the list of items 127 generates searchresults 137 (FIG. 1).

In box 514, the navigation element generation application 121 determinesif the rank of the navigation element 141 is above a threshold. This maycomprise determining if a numerical rank of the navigation element 141with respect to the other items is above a threshold. This may alsocomprise determining if the navigation element 141, when the searchresults 137 are encoded into multiple network pages, appears on anetwork page having a page number above a threshold.

If the navigation element 141 is ranked above the threshold then thenetwork page server application 115 (FIG. 1) generates a network pageembodying the search results 137 which include the navigation element141 in box 517. Otherwise, in box 521, the network page serverapplication 115 generates a network page embodying the search results137 excluding the navigation element 141.

With reference to FIG. 6, shown is a schematic block diagram of thecomputing environment 103 according to an embodiment of the presentdisclosure. The computing environment 103 includes one or more computingdevices 601. Each computing device 601 includes at least one processorcircuit, for example, having a processor 602 and a memory 604, both ofwhich are coupled to a local interface 607. To this end, each computingdevice 601 may comprise, for example, at least one server computer orlike device. The local interface 607 may comprise, for example, a databus with an accompanying address/control bus or other bus structure ascan be appreciated.

Stored in the memory 604 are both data and several components that areexecutable by the processor 602. In particular, stored in the memory 604and executable by the processor 602 are an electronic commerce system114 (FIG. 1) having a network page server application 115 (FIG. 1), asearch application 117 (FIG. 1), and a navigation element generationapplication 121 (FIG. 1), and potentially other applications. Alsostored in the memory 604 may be a data store 111 (FIG. 1) storing acatalog 134 (FIG. 1) and other data. In addition, an operating systemmay be stored in the memory 604 and executable by the processor 602.

It is understood that there may be other applications that are stored inthe memory 604 and are executable by the processor 602 as can beappreciated. Where any component discussed herein is implemented in theform of software, any one of a number of programming languages may beemployed such as, for example, C, C++, C#, Objective C, Java®,JavaScript®, Perl, PHP, Visual Basic®, Python®, Ruby, Flash®, or otherprogramming languages.

A number of software components are stored in the memory 604 and areexecutable by the processor 602. In this respect, the term “executable”means a program file that is in a form that can ultimately be run by theprocessor 602. Examples of executable programs may be, for example, acompiled program that can be translated into machine code in a formatthat can be loaded into a random access portion of the memory 604 andrun by the processor 602, source code that may be expressed in properformat such as object code that is capable of being loaded into a randomaccess portion of the memory 604 and executed by the processor 602, orsource code that may be interpreted by another executable program togenerate instructions in a random access portion of the memory 604 to beexecuted by the processor 602, etc. An executable program may be storedin any portion or component of the memory 604 including, for example,random access memory (RAM), read-only memory (ROM), hard drive,solid-state drive, USB flash drive, memory card, optical disc such ascompact disc (CD) or digital versatile disc (DVD), floppy disk, magnetictape, or other memory components.

The memory 604 is defined herein as including both volatile andnonvolatile memory and data storage components. Volatile components arethose that do not retain data values upon loss of power. Nonvolatilecomponents are those that retain data upon a loss of power. Thus, thememory 604 may comprise, for example, random access memory (RAM),read-only memory (ROM), hard disk drives, solid-state drives, USB flashdrives, memory cards accessed via a memory card reader, floppy disksaccessed via an associated floppy disk drive, optical discs accessed viaan optical disc drive, magnetic tapes accessed via an appropriate tapedrive, and/or other memory components, or a combination of any two ormore of these memory components. In addition, the RAM may comprise, forexample, static random access memory (SRAM), dynamic random accessmemory (DRAM), or magnetic random access memory (MRAM) and other suchdevices. The ROM may comprise, for example, a programmable read-onlymemory (PROM), an erasable programmable read-only memory (EPROM), anelectrically erasable programmable read-only memory (EEPROM), or otherlike memory device.

Also, the processor 602 may represent multiple processors 602 and/ormultiple processor cores and the memory 604 may represent multiplememories 604 that operate in parallel processing circuits, respectively.In such a case, the local interface 607 may be an appropriate networkthat facilitates communication between any two of the multipleprocessors 602, between any processor 602 and any of the memories 604,or between any two of the memories 604, etc. The local interface 607 maycomprise additional systems designed to coordinate this communication,including, for example, performing load balancing. The processor 602 maybe of electrical or of some other available construction.

Although the navigation element generation application 121 (FIG. 1), andother various systems described herein may be embodied in software orcode executed by general purpose hardware as discussed above, as analternative the same may also be embodied in dedicated hardware or acombination of software/general purpose hardware and dedicated hardware.If embodied in dedicated hardware, each can be implemented as a circuitor state machine that employs any one of or a combination of a number oftechnologies. These technologies may include, but are not limited to,discrete logic circuits having logic gates for implementing variouslogic functions upon an application of one or more data signals,application specific integrated circuits (ASICs) having appropriatelogic gates, field-programmable gate arrays (FPGAs), or othercomponents, etc. Such technologies are generally well known by thoseskilled in the art and, consequently, are not described in detailherein.

The flowchart of FIG. 5 shows the functionality and operation of animplementation of portions of the navigation element generationapplication 121. If embodied in software, each block may represent amodule, segment, or portion of code that comprises program instructionsto implement the specified logical function(s). The program instructionsmay be embodied in the form of source code that comprises human-readablestatements written in a programming language or machine code thatcomprises numerical instructions recognizable by a suitable executionsystem such as a processor 602 in a computer system or other system. Themachine code may be converted from the source code, etc. If embodied inhardware, each block may represent a circuit or a number ofinterconnected circuits to implement the specified logical function(s).

Although the flowchart of FIG. 5 shows a specific order of execution, itis understood that the order of execution may differ from that which isdepicted. For example, the order of execution of two or more blocks maybe scrambled relative to the order shown. Also, two or more blocks shownin succession in FIG. 5 may be executed concurrently or with partialconcurrence. Further, in some embodiments, one or more of the blocksshown in FIG. 5 may be skipped or omitted. In addition, any number ofcounters, state variables, warning semaphores, or messages might beadded to the logical flow described herein, for purposes of enhancedutility, accounting, performance measurement, or providingtroubleshooting aids, etc. It is understood that all such variations arewithin the scope of the present disclosure.

Also, any logic or application described herein, including thenavigation page server application 115, that comprises software or codecan be embodied in any non-transitory computer-readable medium for useby or in connection with an instruction execution system such as, forexample, a processor 602 in a computer system or other system. In thissense, the logic may comprise, for example, statements includinginstructions and declarations that can be fetched from thecomputer-readable medium and executed by the instruction executionsystem. In the context of the present disclosure, a “computer-readablemedium” can be any medium that can contain, store, or maintain the logicor application described herein for use by or in connection with theinstruction execution system.

The computer-readable medium can comprise any one of many physical mediasuch as, for example, magnetic, optical, or semiconductor media. Morespecific examples of a suitable computer-readable medium would include,but are not limited to, magnetic tapes, magnetic floppy diskettes,magnetic hard drives, memory cards, solid-state drives, USB flashdrives, or optical discs. Also, the computer-readable medium may be arandom access memory (RAM) including, for example, static random accessmemory (SRAM) and dynamic random access memory (DRAM), or magneticrandom access memory (MRAM). In addition, the computer-readable mediummay be a read-only memory (ROM), a programmable read-only memory (PROM),an erasable programmable read-only memory (EPROM), an electricallyerasable programmable read-only memory (EEPROM), or other type of memorydevice.

It should be emphasized that the above-described embodiments of thepresent disclosure are merely possible examples of implementations setforth for a clear understanding of the principles of the disclosure.Many variations and modifications may be made to the above-describedembodiment(s) without departing substantially from the spirit andprinciples of the disclosure. All such modifications and variations areintended to be included herein within the scope of this disclosure andprotected by the following claims.

Therefore, the following is claimed:
 1. A non-transitorycomputer-readable medium embodying a program executable in at least onecomputing device, the program, when executed by the at least onecomputing device, causing the at least one computing device to at least:generate, from a plurality of items, a plurality of search resultsresponsive to a search query, each of the plurality of search resultshaving a corresponding one of a plurality of relevance scores; generatea navigation element as a function of the search query, the navigationelement comprising a plurality of navigation links each directed to arespective subset of the plurality of items; generate a ranked listcomprising the navigation element as ranked within the plurality ofsearch results as a function of the plurality of relevance scores forthe plurality of search results and another relevance score for thenavigation element; and communicate at least a subset of the ranked listto a client.
 2. The non-transitory computer-readable medium of claim 1,wherein the program, when executed, further causes the at least onecomputing device to exclude the navigation element from the subset ofthe ranked list responsive to a placement of the navigation element inthe ranked list falling below a threshold.
 3. The non-transitorycomputer-readable medium of claim 1, wherein each of the navigationlinks corresponds to at least one rule, and each of the navigation linksare directed to the respective subset of the plurality of items assatisfying the corresponding at least one rule.
 4. A system, comprising:at least one computing device comprising at least one processor andmemory storing instructions executable by the at least one processor,the instructions, when executed, causing the at least one computingdevice to at least: generate, from a plurality of items, a plurality ofsearch results responsive to a search query, each of the plurality ofsearch results having a corresponding one of a plurality of relevancescores; generate a navigation element as a function of the search query,the navigation element comprising a plurality of navigation links eachdirected to a respective subset of the plurality of items; rank thenavigation element within the plurality of search results as a functionof the plurality of relevance scores for the plurality of search resultsand another relevance score for the navigation element; and communicateat least a subset of the plurality of search results and the navigationelement to a client.
 5. The system of claim 4, wherein the navigationelement is further generated as a function of a purchased placement ofone of the navigation links in the navigation element.
 6. The system ofclaim 4, wherein the instructions further cause the at least onecomputing device to at least select the navigation links for inclusionin the navigation element from a plurality of potential navigationlinks.
 7. The system of claim 5, wherein selecting the navigation linksfor inclusion in the navigation element from the plurality of potentialnavigation links comprises: calculating, for each of the plurality ofpotential navigation links, a respective one of a plurality ofconfidence scores; and selecting, for inclusion in the navigationelement, at least one of the potential navigation links having a highestrespective one of the plurality of confidence scores.
 8. The system ofclaim 7, wherein the confidence scores are calculated as a function of abrowse history corresponding to the client.
 9. The system of claim 7,wherein the confidence scores are calculated as a function of a purchasehistory corresponding to the client.
 10. The system of claim 7, whereinselecting the navigation links for inclusion in the navigation elementfrom the plurality of potential navigation links comprises determiningan ordering of the navigation links in the navigation element based atleast in part on the plurality of confidence scores.
 11. The system ofclaim 4, wherein generating the navigation element comprises generatingthe navigation element based at least in part on a previously calculatedrelevance score for a previously generated navigation element.
 12. Thesystem of claim 4, wherein the instructions further cause the at leastone computing device to calculate the other relevance score for thenavigation element based at least in part on data used to generate thenavigation element.
 13. The system of claim 12, wherein the datacomprises at least one of a browse history, a purchase history, ordomain knowledge used to generate the navigation element.
 14. A method,comprising: generating, by at least one computing device, from aplurality of items, a plurality of search results responsive to a searchquery, each of the plurality of search results having a correspondingone of a plurality of relevance scores; generating, by the at least onecomputing device, a navigation element as a function of the searchquery, the navigation element comprising a plurality of navigation linkseach directed to a respective subset of the plurality of items;generating, by the at least one computing device, a ranked listcomprising the navigation element as ranked within the plurality ofsearch results as a function of the plurality of relevance scores forthe plurality of search results and another relevance score for thenavigation element; and communicating, by the at least one computingdevice, at least a subset of the ranked list to a client.
 15. The methodof claim 14, further comprising excluding, by the at least one computingdevice, the navigation element from the subset of the ranked listresponsive to a placement of the navigation element in the ranked listfalling below a threshold.
 16. The method of claim 14, wherein theplurality of items are encoded as a taxonomy comprising a plurality oftaxonomy nodes, and each of the navigation links are directed to arespective one of the taxonomy nodes.
 17. The method of claim 14,wherein each of the navigation links corresponds to at least one rule,and each of the navigation links are directed to the respective subsetof the plurality of items as satisfying the corresponding at least onerule.
 18. The method of claim 14, further comprising calculating, by theat least one computing device, the other relevance score for thenavigation element as a function of at least one previously calculatedrelevance score.
 19. The method of claim 18, wherein the at least onepreviously calculated relevance score corresponds to at least onepreviously generated navigation element.
 20. The method of claim 18,wherein generating, by the at least one computing device, the navigationelement comprises generating, by the at least one computing device, thenavigation element as a function of the at least one previouslycalculated relevance score.